#include "Game.h"
#include "CorutinaColor.h"
#include "TransicionLineal.h"

#include <gl/freeglut.h>
#include <iostream>

using namespace std;
CorutinaColor::CorutinaColor(float r1,float g1,float b1, float duracionAnimacion):rDestino(r1),gDestino(g1),bDestino(b1),duracion(duracionAnimacion)
{
	
}
void CorutinaColor::onStart(){


	tiempoInicial = TIEMPO_TRANSCURRIDO;
	iniciado = true;

	g->getTransitionManager()->addTransicion(new TransicionLineal(g->r,rDestino,duracion));
	g->getTransitionManager()->addTransicion(new TransicionLineal(g->g,gDestino,duracion));
	g->getTransitionManager()->addTransicion(new TransicionLineal(g->b,bDestino,duracion));


	
}
void CorutinaColor::update(float speedFactor){
	
	glColor3f(g->r,g->g,g->b);
}
bool CorutinaColor::terminado(){
	return TIEMPO_TRANSCURRIDO > tiempoInicial + duracion;
}
CorutinaColor::~CorutinaColor(void)
{
}
